package bancosys.tec.persist.entities.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import jmine.tec.persist.annotation.Alias;

import org.hibernate.annotations.Type;

import bancosys.tec.persist.bussobj.PersistableBusinessObject;
import bancosys.tec.utils.date.Date;

@Entity
@Alias("AGENTE")
public class Agente extends PersistableBusinessObject {

    private Long id;

    private String mnemonico;

    private Date birthDate;

    public Agente() {
        // constructor
    }

    public Agente(String mnemonico) {
        this.mnemonico = mnemonico;
    }

    /**
     * @return the id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public Long getId() {
        return this.id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    @Column
    public String getMnemonico() {
        return this.mnemonico;
    }

    /**
     * @param mnemonico the mnemonico to set
     */
    public void setMnemonico(String mnemonico) {
        this.mnemonico = mnemonico;
    }

    /**
     * @return valor do campo birthDate.
     */
    @Column
    @Type(type = "bancosys.tec.persist.hibernate.type.DateType")
    public Date getBirthDate() {
        return this.birthDate;
    }

    /**
     * Define valor para campo birthDate.
     * 
     * @param birthDate valor para campo birthDate.
     */
    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }
}
